/* Copyright 203-2115 AtomWare Technology Pty Limited
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 * The flowing information must be keep 
 * NetWorkUtils.java
 * wholebasic
 * 2013年12月3日下午3:39:10
 * @author 屈甲康
 * QQ285799123
 * mailto:qujiakang@gmail.com
 */

package org.jackysoft.util;

import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Enumeration;

public class NetWorkUtils {
	public static InetAddress getIp() {
		InetAddress addr = null;
		try {
			addr = InetAddress.getLocalHost();
			for (Enumeration<NetworkInterface> interfaces = NetworkInterface
					.getNetworkInterfaces(); interfaces.hasMoreElements();) {
				NetworkInterface net = interfaces.nextElement();
				if (net.isLoopback() || net.isVirtual() || !net.isUp())
					continue;
				Enumeration<InetAddress> addrs = net.getInetAddresses();
				if (addrs.hasMoreElements()) {
					addr = addrs.nextElement();
					break;
				}
			}

		} catch (SocketException | UnknownHostException e) {
			e.printStackTrace();
		}
		return addr;
	}
}
